.. _cmlPmSxSetSpeedRatio: cmlPmSxSetSpeedRatio ================================ -------------------------------- SYNOPSYS ````````````` .. code-block:: none VT_I4 cmlPmSxSetSpeedRatio([in] VT_I4 BoardID, [in] VT_I4 NodeId, [in] VT_I4 Channel, [in] VT_I4 SpeedMode, [in] VT_I4 VelRatio, [in] VT_I4 AccRatio, [in] VT_I4 DecRatio ) DESCRIPTION ````````````` - cmlPmSxSetSpeedRatio() 함수는 단축 구동 시 해당 축에 대한 속도 모드 및 속도 비율을 설정 합니다. 모션 속도는 기준속도의 비율로 설정이 가능하며, 이것은 cmlPmCfgSetSpeedPattern() 함수에 의해서 설정된 기준 속도를 의미합니다. \ - 이 함수의 사용과 호출에 있어, 제공된 ㈜커미조아의 함수 헤더 Visual Basic 에서는 함수의 첨두어 cml 가 붙지 않습니다. PARAMETER ````````````` ▶ BoardID : 사용자가 설정한 디바이스(보드) ID. ▶ NodeId : 사용자가 제어하고자 하는 노드 번호. ▶ Channel : 축 번호. 통합 축으로 관리되는 축 번호를 의미하며, 상수 값으로 0 (Zero Based) 이상, 최대 통합 축 개수 - 1 이하의 값을 축 번호로 설정할 수 있습니다. ▶ SpeedMode : cmlPmSxSetSpeedRatio() 함수의 인자이며, 속도모드의 설정 값 입니다. 다음과 같은 설정 값을 가집니다. .. csv-table:: :widths: 10 90 :header-rows: 1 :stub-columns: 0 Value, Meaning 0 (cmlMODE_C), CONSTANT 속도모드 => 가감속을 수행하지 않습니다. 1 (cmlMODE_T), TRAPEZOIDAL 속도모드 => 사다리꼴 가감속을 수행합니다. 2 (cmlMODE_S), S-CURVE 속도모드 => S-CURVE 가감속을 수행합니다. -1 (ccmlSMODE_KEEP), 이전 속도 모드를 그대로 유지합니다. 즉, 속도모드를 변경하지 않습니다. ▶ SpeedMode : cmlPmSxGetSpeedRatio() 함수의 인자이며, 설정된 속도모드를 반환합니다. .. csv-table:: :widths: 10 90 :header-rows: 1 :stub-columns: 0 Value, Meaning 0 (cmlMODE_C), CONSTANT 속도모드 => 가감속을 수행하지 않습니다. 1 (cmlMODE_T), TRAPEZOIDAL 속도모드 => 사다리꼴 가감속을 수행합니다. 2 (cmlMODE_S), S-CURVE 속도모드 => S-CURVE 가감속을 수행합니다. ▶ VelRatio : 작업 속도 비율(Ratio) 을 설정 혹은 반환합니다. 이 값의 단위는 %입니다. ▶ AccRatio : 가속도 비율(Ratio) 을 설정 혹은 반환합니다. 이 값의 단위는 %입니다. ▶ DecRatio : 감속도 비율(Ratio) 을 설정 혹은 반환합니다. 이 값의 단위는 %입니다. RETURN VALUE ``````````````` .. csv-table:: :widths: 10 90 :header-rows: 1 :stub-columns: 0 Value, Meaning 음수, 수행 실패 0(ERR_NONE), 수행 성공 EXAMPLE ````````` .. code-block:: c++ :linenos: :emphasize-lines: 5 C/C++ #include “ComiMLink2_SDK.h” #include “ComiMLink2_SDK_Def.h” long BoardID = 0; long nChannel = 0; //0번 축으로 설정합니다. /*단축 모션의 작업 속도 비율을 설정합니다. cmlPmCfgSetSpeedPattern()함수를 통해서 설정된 속도를 기준으로 비율이 적용됩니다.*/ cmlPmSxSetSpeedRatio(BoardID, 0, nChannel, cmlMODE_T, 100, 100, 100 ); long nSpeedMode = 0; double fVelRatio = 0.0f, fAccRatio = 0.0f, fDecRatio = 0.0f; //0번 축의 설정된 단축 모션 작업 속도 비율을 반환합니다. cmlPmSxGetSpeedRatio (BoardID, 0, nChannel, &nSpeedMode, &fVelRatio, &fAccRatio, &fDecRatio ); SEE ALSO `````````````` .. seealso:: :ref:`cmlPmCfgSetSpeedPattern`, :ref:`cmlPmCfgGetSpeedPattern`